package businesslogicservice.userblservice;

import java.util.ArrayList;

import vo.userVO.DepartmentDeanVO;
import vo.userVO.StudentVO;
import vo.userVO.TeacherVO;
import vo.userVO.UniversityDeanVO;
import vo.userVO.UserVO;
import dataservice.ResultMessage;


/**
 * @author Zhu Yanhui
 *
 */
public interface AdministratorBLService extends UserBLService{
	
	/**
	 * @deleteUser
	 * @功能：删除用户
	 * @param vo
	 * @return
	 * @throws Exception
	 */
	ResultMessage deleteUser(UserVO vo)throws Exception; 
	/**
	 * @addUser
	 * @功能：添加学生用户
	 * @param vo
	 * @return
	 * @throws Exception
	 */
	ResultMessage addUser(StudentVO vo)throws Exception;
	/**
	 * @addUser
	 * @功能：添加任课教师用户
	 * @param vo
	 * @return
	 * @throws Exception
	 */
	ResultMessage addUser(TeacherVO vo)throws Exception;
	/**
	 * @addUser
	 * @功能：添加教务处老师用户
	 * @param vo
	 * @return
	 * @throws Exception
	 */
	ResultMessage addUser(UniversityDeanVO vo)throws Exception;
	/**
	 * @addUser
	 * @功能：添加院系教务老师用户
	 * @param vo
	 * @return
	 * @throws Exception
	 */
	ResultMessage addUser(DepartmentDeanVO vo)throws Exception;
	
	/**
	 * @modifyUser
	 * @功能：修改学生用户
	 * @param vo
	 * @return
	 * @throws Exception
	 */
	ResultMessage modifyUser(StudentVO vo)throws Exception;
	/**
	 * @modifyUser
	 * @功能：修改任课教师用户
	 * @param vo
	 * @return
	 * @throws Exception
	 */
	ResultMessage modifyUser(TeacherVO vo)throws Exception;
	/**
	 * @modifyUser
	 * @功能：修改教务处老师用户
	 * @param vo
	 * @return
	 * @throws Exception
	 */
	ResultMessage modifyUser(UniversityDeanVO vo)throws Exception;
	/**
	 * @modifyUser
	 * @功能：修改院系教务老师用户
	 * @param vo
	 * @return
	 * @throws Exception
	 */
	ResultMessage modifyUser(DepartmentDeanVO vo)throws Exception;
	/**
	 * @getUserList
	 * @功能：根据用户类型和所在院系获取用户列表
	 * @param vo
	 * @return
	 * @throws Exception
	 */
	ArrayList<UserVO> getUserList(int userType,String departmentID)throws Exception;
	
	/**
	 * @modifyPassword
	 * @功能：管理员重置用户密码
	 * @param userID
	 * @param password
	 * @return
	 * @throws Exception
	 */
	ResultMessage modifyPassword(String userID,String password)throws Exception;
 
	
	
	

}
